package com.wsh.archive.service.business;

import java.util.Map;

import com.wsh.archive.exception.ArchiveException;

/**
 * The abstract service.  
 * 
 * @author Wiltenburg, W. - <a href="wsh.cezar@gmail.com">washington at wshSystems</a>
 * @since 2012, January.
 * @version 1.0	
 *	
 * @param <Key> - Tipo de chave para o map.
 * @param <Valor> - Tipo de valor para o map.
 */
public abstract interface ArchiveService<T> {

	/**
	 * Responsavel por ler o arquivo.
	 * 
	 * @param vo 
	 * @return Map<Key, Valor>
	 * @throws ArchiveException
	 * 			caso ocorra algum erro.
	 */
	Map<Integer, String> read(final T vo) throws ArchiveException;
	
	/**
	 * Responsavel por exportar o arquivo.
	 * 
	 * @param vo
	 * @return boolean
	 * @throws ArchiveException
	 * 			caso ocorra algum erro.
	 */
	boolean export(final T vo) throws ArchiveException;
}